Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A 
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard 
All Tour Wimbledon - London U.S. Open - New York Astana Open - Astana Malaga Challenger Rakuten Japan Open - Tokyo Hamburg Challenger Ortisei Challenger Sofia Open - Sofia Matsuyama Challenger Danderyd Challenger Australian Open - Melbourne ASB Classic - Auckland Dallas Open - Dallas Quimper Challenger Mifel Tennis Open - Los Cabos Abierto Mexicano Telcel - Acapulco Lille Challenger Lugano Challenger Miami Open - Miami Madrid Challenger French Open - Paris Open Parc - Lyon Mallorca Championships - Mallorca cinch Championships - London National Bank Open - Montreal Nottingham 2 Challenger Infosys Hall of Fame Open - Newport Atlanta Open - Atlanta Western & Southern Open - Cincinnati U.S. Open - New York Cary Challenger Winston-Salem Open - Winston-Salem Japan Open Tennis Championships - Tokyo Chengdu Open - Chengdu Shanghai Rolex Masters - Shanghai Brest Challenger Hangzhou Challenger Taipei 2 Challenger Moselle Open - Metz Seoul Challenger BNP Paribas Open - Indian Wells United Cup - Australia Canberra Challenger Australian Open - Melbourne Davis Cup, World Group, Q, JPN-GBR 3-2 Bengaluru Challenger US Men's Clay Court Championship - Houston French Open - Paris Chicago Challenger Rothesay International - Eastbourne Wimbledon - London Citi Open - Washington National Bank Open - Toronto Lexington Challenger U.S. Open - New York Cassis Challenger Guangzhou Challenger Chengdu Open - Chengdu Jingshan Challenger Moselle Open - Metz Spain F26 Spain F28 Spain F34 Spain F35 Spain F37 Spain F38 Spain F39 Spain F1 Spain F2 Spain F3 Spain F5 Spain F6 Portugal F2 Spain F10 Spain F11 Spain F13 Spain F14 Spain F15 Spain F17 Spain F20 Spain F24 Spain F26 Spain F27 Spain F29 Spain F30 Spain F32 Spain F35 Spain F36 Spain F38 Spain F39 Turkey F1 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Croatia F5 Croatia F6 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F16 Belgium F1 Spain F20 Spain F21 Spain F22 Italy F22 Spain F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Spain F9 Spain F14 Italy F22 Spain F32 Portugal F9 Great Britain F5 Great Britain F11 Great Britain F15 Great Britain F7 Belgium F8 Belgium F9 Belgium F10 Belgium F11 Belgium F12 Belgium F13 Belgium F14 France F21 France F22 Germany F17 Germany F18 Great Britain F10 Great Britain F11 France F1 France F2 Spain F3 Spain F4 Spain F5 Spain F6 Spain F21 Portugal F1 Great Britain F15 Portugal F7 Belgium F11 Belgium F12 Belgium F14 Great Britain F4 Great Britain F5 Cyprus F1 Cyprus F2 Cyprus F3 Spain F2 (Manacor) Spain F3 (Paguera) Spain F4 (Paguera) Spain F6 (Cornella) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) Portugal F3 (Loule) Portugal F4 (Lisbon) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Portugal F7 (Carcavelos) Spain F11 (Majadahonda) Poland F2 (Gdynia) Poland F3 (Mragowo) Poland F4 (Mragowo) Poland F5 (Mragowo) Poland F6 (Mragowo) Poland F7 (Mragowo) Poland F8 (Mragowo) Belgium F8 (Eupen) Belgium F9 (Koksijde) Belgium F10 (Lambermont) Belgium F11 (Damme) Belgium F12 (Middelkerke) Great Britain F4 (Nottingham) Great Britain F6 (Barnstaple) Greece F7 (Heraklion) Greece F8 (Heraklion) Greece F9 (Heraklion) Thailand F10 (Hua Hin) Thailand F11 (Hua Hin) Thailand F12 (Hua Hin) Spain F2 (Manacor (Mallorca)) Spain F3 (Paguera (Mallorca)) Great Britain F2 (Loughborough) Great Britain F3 (Shrewsbury) Italy F2 (Santa Margherita Di Pula) Italy F3 (Santa Margherita Di Pula) Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Italy F8 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Spain F17 (Bakio) Spain F18 (Getxo) Spain F19 (Gandia) Spain F20 (Denia) Great Britain F4 (Nottingham) Italy F28 (Santa Margherita Di Pula) Italy F29 (Santa Margherita Di Pula) Italy F30 (Santa Margherita Di Pula) Vietnam F4 (Tay Ninh) Vietnam F5 (Tay Ninh) Thailand F8 (Nonthaburi) Spain F15 M25 Nonthaburi M25 Nonthaburi M15 Hua Hin M15 Hua Hin M15 Hua Hin M25 Tay Ninh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Heraklion M15 Heraklion M15 Heraklion M15 Manacor M15 Manacor M15 Heraklion M15 Heraklion M15 Vale Do Lobo M15 Faro M15 Loule M15 Heraklion M15 Heraklion M15 Heraklion M15 Heraklion M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Heraklion M15 Heraklion M15 Heraklion M15 Antalya M15 Antalya M15 Antalya M15 Almada M15 L'Aquila M15 Perugia M15 Xativa M15 Cairo M15 Cairo M15 Sozopol M15 Sozopol M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M25 Bath M25 Loughborough M25 Shrewsbury M25 Glasgow M25 Vale do Lobo M25 Faro M25 Antalya M25 Antalya Spain F1 M15 Antalya M15 Antalya M25 Nottingham M25 Nottingham M25 Nottingham M25 Nottingham Italy F4 (Santa Margherita Di Pula) M25 Heraklion M25 Roehampton M25 Nottingham M15 Heraklion Netherlands F4 M25 Tay Ninh USA F28 Poznan Challenger Spain F1 (Manacor) Alphen Challenger Seville Challenger Charlottesville Challenger Savannah Challenger Tallahassee Challenger Todi Challenger San Marino Challenger Cordenons Challenger Kenitra Challenger Seoul Challenger Rome Challenger Mestre Challenger Todi Challenger Vancouver Challenger Aptos Challenger Seville Challenger Quimper Challenger Rome Challenger Furth Challenger Prague Challenger Marburg Challenger Braunschweig Challenger Poznan Challenger Spain F22 Aptos Challenger Vancouver Challenger Barranquilla Challenger Trnava Challenger Rome Challenger Casablanca Challenger Kobe Challenger Canberra Challenger Guangzhou Challenger Shenzhen Challenger Furth Challenger Lyon Challenger Braunschweig Challenger Cordenons Challenger Manerbio Challenger Como Challenger Seville Challenger Cherbourg Challenger Ho Chi Minh City Challenger Kobe Challenger Maui Challenger M25 Vila Real de Santo Antonio Buenos Aires Challenger M25 Faro Scheveningen Challenger Vancouver Challenger USA F1 Seville Challenger Szczecin Challenger M25 Loule Szczecin Challenger Yokohama Challenger M25 Quinta Do Lago Ningboo Challenger Furth Challenger Canberra Challenger Toyota Challenger M25 Portimao Lisbon Challenger Loughborough Challenger Ilkley Challenger Milan Challenger San Benedetto Challenger Parma Challenger Milan Challenger Sibiu Challenger Yeongwol Challenger Chitre Challenger Aptos Challenger Szczecin Challenger USA F2 Biella Challenger Charlottesville Challenger Sacramento Challenger Fairfield Challenger Tiburon Challenger Cherbourg Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Canberra Challenger Burnie Challenger Parma Challenger Istanbul Challenger Hamburg Challenger Mersin Challenger Nur-Sultan 2 Challenger Marbella Challenger Prostejov Challenger Heilbronn Challenger Oeiras 3 Challenger Lyon Challenger USA F3 Vercelli Challenger Spain F25 Braga Challenger Lisbon Challenger Las Vegas Challenger Charlottesville Challenger Phoenix Challenger Bordeaux Challenger Troisdorf Challenger Forli 6 Challenger Surbiton Challenger Nottingham Challenger Todi Challenger Indianapolis Challenger Winnipeg Challenger Lexington Challenger Indian Wells Challenger Chicago Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Spain F1 Lisbon Challenger Alicante Challenger Ismaning Challenger Nonthaburi 1 Challenger Monterrey Challenger Las Franquesas del Valles Challenger Murcia Challenger Madrid Challenger Oeiras 3 Challenger Cagliari Challenger Prague 1 Challenger Prague 2 Challenger Turin Challenger Sanremo Challenger St. Tropez Challenger Hamburg Challenger Ostrava Challenger Great Britain F5 (Roehampton) Barcelona Challenger Surbiton Challenger Guimaraes Challenger Oeiras 3 Challenger Genova Challenger Bergamo Challenger Sydney Challenger Como Challenger Seville Challenger Koblenz Challenger Yokohama Challenger Split Challenger Girona Challenger Barranquilla Challenger Sarasota Challenger Surbiton Challenger Scheveningen Challenger Poznan Challenger Kobe Challenger Knoxville Challenger Shenzhen Challenger Santiago Challenger Playford Challenger Chennai Challenger New Delhi Challenger Pune Challenger San Diego Challenger Phoenix Challenger Nonthaburi 3 Challenger Menorca Challenger Lisbon Challenger Bordeaux Challenger Birmingham Challenger Perugia Challenger Braunschweig Challenger Amersfoort Challenger Seoul Challenger Ilkley Challenger Cassis Challenger Salzburg-Anif Challenger Rome Challenger Francavilla Challenger Kobe Challenger Rome Challenger Madrid Challenger Pozoblanco Challenger Alicante Challenger Taipei Challenger Segovia Challenger Panama City Challenger Prague Challenger Recanati Challenger Caltanissetta Challenger Sassuolo Challenger Bordeaux Challenger Suzhou Challenger Qatar ExxonMobil Open - Doha Royal Guard Open Chile - Vina del Mar Portugal Open - Oeiras Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Brisbane International - Brisbane Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca Bet-at-home Open - Hamburg Valencia Open - Valencia Aircel Chennai Open - Chennai Open Sud de France - Montpellier Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Rakuten Japan Open - Tokyo Qatar ExxonMobil Open - Doha Traralgon Challenger Braunschweig Challenger Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Suisse Open - Gstaad Abierto Mexicano - Los Cabos Rakuten Japan Open - Tokyo New York Open - New York Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco US Men's Clay Court Championship - Houston TEB BNP Paribas Istanbul Open - Istanbul Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Brisbane International - Brisbane Sydney International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Abierto Mexicano de Tenis Mifel - Los Cabos Tata Open Maharashtra - Pune Abierto Mexicano Telcel - Acapulco Copa Claro - Buenos Aires Serbia Open - Belgrade Nordea Open - Bastad Sarasota Challenger Adelaide International 1 - Adelaide Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade cinch Championships - London Mallorca Championships - Mallorca Truist Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel San Diego Open - San Diego Korea Open - Seoul Tennis Napoli Open - Naples Adelaide International 1 - Adelaide Chengdu Open - Chengdu cinch Championships - London Almaty Open - Almaty Cagliari Challenger ASB Classic - Auckland Belgrade Challenger Nottingham Challenger Geneva Open - Geneva Szczecin Challenger Forte Village Sardegna Open - Sardinia Sofia Open - Sofia Murray River Open - Melbourne Bratislava 2 Challenger Nonthaburi 1 Challenger Francavilla Challenger Yokohama Challenger Nonthaburi 2 Challenger Banja Luka Open - Banja Luka cinch Championships - London Rakuten Japan Open - Tokyo Hong Kong Tennis Open - Hong Kong Delray Beach Open - Delray Beach BMW Open - Munich Rothesay International - Eastbourne China Open - Beijing Manama Challenger Hamburg Challenger Mifel Tennis Open - Los Cabos Tunis Challenger Salzburg Challenger Antalya Cup - Antalya Mauthausen Challenger ASB Classic - Auckland Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco BMW Open - Munich Delray Beach Open - Delray Beach Citi Open - Washington Almaty Open - Almaty Dallas Open - Dallas Sibiu Challenger Augsburg Challenger Bordeaux Challenger Lexington Challenger Winnipeg Challenger Aix En Provence Challenger Jinan Challenger Braunschweig Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Internazionali BNL d'Italia - Rome Cincinnati Open - Cincinnati Shanghai Rolex Masters - Shanghai BMW Open - Munich National Bank Open - Toronto Singapore Tennis Open - Singapore Bratislava 2 Challenger Anytech365 Andalucia Open - Marbella Adelaide International - Adelaide Cary 1 Challenger Cap Cana Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Nordea Open - Bastad EFG Swiss Open - Gstaad Davis Cup, World Group, QF, JPN-CZE 0-5 Davis Cup, World Group, PO, COL-JPN 2-3 Davis Cup, World Group, 1R, GBR-JPN 3-1 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, World Group, 1R, JPN-FRA 1-4 Davis Cup, World Group, 1R, JPN-ITA 1-3 Davis Cup, World Group, QR, CHN-JPN 2-3 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group D, Manchester French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Wimbledon (juniors) All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo Plava Laguna Croatia Open - Umag Shanghai Rolex Masters - Shanghai Mutua Madrid Open - Madrid Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Western & Southern Open - New York Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid French Open - Paris Wimbledon - London Wimbledon - London Citi Open - Washington Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, Group I, PO, JPN-POL 4-0 Olympics - Paris